\hypertarget{class_water_network}{
\section{WaterNetwork Class Reference}
\label{class_water_network}\index{WaterNetwork@{WaterNetwork}}
}


{\ttfamily \#include $<$WaterNetwork.h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_water_network_a9f941febe6bc41184bae679e01a70e1a}{WaterNetwork} ()
\item 
virtual \hyperlink{class_water_network_a921944601ccc9292214e538f39931680}{$\sim$WaterNetwork} ()
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ $\ast$ \hyperlink{class_water_network_a73a75b7ac2300b93be71cc396dd78a15}{getLocations} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{class_water_network_a73a75b7ac2300b93be71cc396dd78a15}{getLocations()} -\/ method used to get the full set of locations \end{DoxyCompactList}\item 
vector$<$ \hyperlink{class_junction}{Junction} $\ast$ $>$ $\ast$ \hyperlink{class_water_network_ad0523efad5899c970a371dac7ffceac4}{getJunctions} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{class_water_network_ad0523efad5899c970a371dac7ffceac4}{getJunctions()} -\/ method used to get the full set of Junctions \end{DoxyCompactList}\item 
vector$<$ \hyperlink{class_reservoir}{Reservoir} $\ast$ $>$ $\ast$ \hyperlink{class_water_network_ada9bc87a5e954905a31fcd68241ec428}{getReservoirs} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{class_water_network_ada9bc87a5e954905a31fcd68241ec428}{getReservoirs()} -\/ method used to get the full set of Reservoirs \end{DoxyCompactList}\item 
vector$<$ \hyperlink{class_infrastructure}{Infrastructure} $\ast$ $>$ $\ast$ \hyperlink{class_water_network_a44292fec38a4d22e94d32195f14776ad}{getInfrastructures} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{class_water_network_a44292fec38a4d22e94d32195f14776ad}{getInfrastructures()} -\/ method used to get the full set of Infrastructures \end{DoxyCompactList}\item 
int \hyperlink{class_water_network_ac0c651e2cdcdee910d4ec467fd405759}{getNumNodes} () const 
\begin{DoxyCompactList}\small\item\em \hyperlink{class_water_network_ac0c651e2cdcdee910d4ec467fd405759}{getNumNodes()} -\/ method used to get the number of locations \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_ab4a75631a31d7b19f3ae86ceb6428e41}{addLocation} (int id, int coordX, int coordY)
\begin{DoxyCompactList}\small\item\em addLocation -\/ method used to add a new \hyperlink{class_location}{Location} \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_a46a757e58962a91e6b711305347a69ac}{addJunction} (int id, int coordX, int coordY, int junctionCapacity, bool status)
\begin{DoxyCompactList}\small\item\em addJunction -\/ method used to add a new \hyperlink{class_junction}{Junction} \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_a885f2709c7ce05df85df2703c88da5ee}{addReservoir} (int id, int coordX, int coordY, int currentStoredCapacity, int maxStorageCapacity)
\begin{DoxyCompactList}\small\item\em addReservoir -\/ method used to add a new \hyperlink{class_reservoir}{Reservoir} \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_aecaf4dfd04cd5b59a0581bba7b91ee71}{addInfrastructure} (int id, int coordX, int coordY, int consumption)
\begin{DoxyCompactList}\small\item\em addInfrastructure -\/ method used to add a new \hyperlink{class_infrastructure}{Infrastructure} \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_a2a050ebecbf917386ac5efbff9dfd4a5}{addPipe} (int id, int capacity, \hyperlink{class_location}{Location} \&sourc, \hyperlink{class_location}{Location} \&dest, bool Status, int flow=0)
\begin{DoxyCompactList}\small\item\em addPipe -\/ method used to add a new pipe connection \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_a13e84743fc7b84dba324abe83d1085e3}{addPipe} (int id, int capacity, int sourc, int dest, bool Status, int flow=0)
\item 
bool \hyperlink{class_water_network_a91acadd8564d58ade97d4b1ca430a65c}{addPipe} (int capacity, int sourc, int dest, bool Status, int flow=0)
\item 
bool \hyperlink{class_water_network_a6566d42ba917fa7ecc696b13ccb49f7d}{isNode} (int id)
\begin{DoxyCompactList}\small\item\em isNode -\/ method used to check if a location exists \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_ac894f40989b8c912dbe5cd1563ce45e4}{removeNode} (int id)
\begin{DoxyCompactList}\small\item\em removeNode -\/ method used to remove location \end{DoxyCompactList}\item 
bool \hyperlink{class_water_network_a19715d18cbb86ce2cc5c37763f8505ea}{removePipe} (int idsourc, int iddest)
\item 
void \hyperlink{class_water_network_acf33e51a31585e43155792cb62149e13}{showGraph} (int width, int height)
\begin{DoxyCompactList}\small\item\em Show Water Network graph. \end{DoxyCompactList}\item 
\hyperlink{class_water_network}{WaterNetwork} \hyperlink{class_water_network_abfe1672e7cd986196363dc2b9fd1ca86}{clone} ()
\begin{DoxyCompactList}\small\item\em Copy Water Network graph. \end{DoxyCompactList}\item 
\hyperlink{class_location}{Location} $\ast$ \hyperlink{class_water_network_a68d91ebf12965711adad3a8c0bb9401e}{getNode} (int id)
\item 
int \hyperlink{class_water_network_af048c02299610a99072d7b43897a23e5}{calculateFordFulkerson} (\hyperlink{class_location}{Location} $\ast$current, \hyperlink{class_location}{Location} $\ast$parent, int min, \hyperlink{class_water_network}{WaterNetwork} $\ast$gf, \hyperlink{class_water_network}{WaterNetwork} $\ast$gr, vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ visited)
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_a9697ea9d03dceb467fff0afd0dbd823c}{calcFordFulkerson} (int sourceID)
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_adea63a2e8f62cf5c3b7cd1fd4918f344}{callFordFulkersonMultiSource} ()
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_a01e7ebe89220ff487897b09af71906f9}{callMaxFlowMultiSource} (int algorithm)
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_a011c3eb07dbc82efe7188a7308d0c3f3}{callMaxFlowToSingleInfrastructure} (int algorithm, int destID)
\item 
void \hyperlink{class_water_network_aae57cfa15a620a84ef61d848dafd1b92}{resetPipeFlow} ()
\item 
void \hyperlink{class_water_network_aded2b4ff71169e2bf6268dd73f1c60ad}{clearAll} ()
\item 
void \hyperlink{class_water_network_a20010bdf2c4aa074022307d1660d622b}{addSubRoad} (int roadID, int sourc, int dest)
\item 
\hyperlink{class_location}{Location} $\ast$ \hyperlink{class_water_network_a29456f0594ffaf42b4ea203474fc61fb}{getLocationByID} (int locID)
\item 
bool \hyperlink{class_water_network_a623c8109753291e8e476c132289acc55}{isJunction} (int id)
\item 
\hyperlink{class_junction}{Junction} $\ast$ \hyperlink{class_water_network_ae6ef8b990f3ec827a392cbb921faaa47}{getJunction} (int id)
\item 
\hyperlink{class_reservoir}{Reservoir} $\ast$ \hyperlink{class_water_network_a6e5e7f82017c64a02dacb22fde23511e}{getReservoir} (int id)
\item 
\hyperlink{class_infrastructure}{Infrastructure} $\ast$ \hyperlink{class_water_network_a59a412ebbf9daf6d4574d932eef40fb8}{getInfrastructure} (int id)
\item 
vector$<$ int $>$ \hyperlink{class_water_network_aefcc7422b62efdeaeb444b5570530cbe}{bfs} (\hyperlink{class_location}{Location} $\ast$v)
\item 
vector$<$ int $>$ \hyperlink{class_water_network_ac298145a8e8fcb9fc0fa41605bf3595c}{dfs} ()
\item 
void \hyperlink{class_water_network_af7b58c1a2167ccd08fb5524d31becc06}{dfs} (\hyperlink{class_location}{Location} $\ast$v, vector$<$ int $>$ \&res)
\item 
bool \hyperlink{class_water_network_a80fb9bb3a0e3ad3df24f13124a0654c8}{isInfrastructure} (int id)
\item 
bool \hyperlink{class_water_network_a6f6e258a0f3e4aadc7e45d280dabf493}{isReservoir} (int id)
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_a52343ac85818a81212e694c74c67beb8}{calcDinic} (int sourceID, int finID)
\item 
void \hyperlink{class_water_network_a9ed5f08f51349e0396f73a9a1849473c}{unweightedShortestPath} (const int s)
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_a50b4b873d20c72587745fc67c25dbb28}{maxFlow1to1} (int algorithm, int orig, int dest)
\item 
vector$<$ \hyperlink{class_location}{Location} $\ast$ $>$ \hyperlink{class_water_network_ab13869313e2b148311b90f9ddec40ce0}{maxFlow1toMany} (int algorithm, int orig)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class with the data used for the graphs, and algorithms. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_water_network_a9f941febe6bc41184bae679e01a70e1a}{
\index{WaterNetwork@{WaterNetwork}!WaterNetwork@{WaterNetwork}}
\index{WaterNetwork@{WaterNetwork}!WaterNetwork@{WaterNetwork}}
\subsubsection[{WaterNetwork}]{\setlength{\rightskip}{0pt plus 5cm}WaterNetwork::WaterNetwork (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a9f941febe6bc41184bae679e01a70e1a}
\hypertarget{class_water_network_a921944601ccc9292214e538f39931680}{
\index{WaterNetwork@{WaterNetwork}!$\sim$WaterNetwork@{$\sim$WaterNetwork}}
\index{$\sim$WaterNetwork@{$\sim$WaterNetwork}!WaterNetwork@{WaterNetwork}}
\subsubsection[{$\sim$WaterNetwork}]{\setlength{\rightskip}{0pt plus 5cm}WaterNetwork::$\sim$WaterNetwork (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{class_water_network_a921944601ccc9292214e538f39931680}


\subsection{Member Function Documentation}
\hypertarget{class_water_network_aecaf4dfd04cd5b59a0581bba7b91ee71}{
\index{WaterNetwork@{WaterNetwork}!addInfrastructure@{addInfrastructure}}
\index{addInfrastructure@{addInfrastructure}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addInfrastructure}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addInfrastructure (
\begin{DoxyParamCaption}
\item[{int}]{id, }
\item[{int}]{coordX, }
\item[{int}]{coordY, }
\item[{int}]{consumption}
\end{DoxyParamCaption}
)}}
\label{class_water_network_aecaf4dfd04cd5b59a0581bba7b91ee71}


addInfrastructure -\/ method used to add a new \hyperlink{class_infrastructure}{Infrastructure} 

\hypertarget{class_water_network_a46a757e58962a91e6b711305347a69ac}{
\index{WaterNetwork@{WaterNetwork}!addJunction@{addJunction}}
\index{addJunction@{addJunction}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addJunction}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addJunction (
\begin{DoxyParamCaption}
\item[{int}]{id, }
\item[{int}]{coordX, }
\item[{int}]{coordY, }
\item[{int}]{junctionCapacity, }
\item[{bool}]{status}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a46a757e58962a91e6b711305347a69ac}


addJunction -\/ method used to add a new \hyperlink{class_junction}{Junction} 

\hypertarget{class_water_network_ab4a75631a31d7b19f3ae86ceb6428e41}{
\index{WaterNetwork@{WaterNetwork}!addLocation@{addLocation}}
\index{addLocation@{addLocation}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addLocation}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addLocation (
\begin{DoxyParamCaption}
\item[{int}]{id, }
\item[{int}]{coordX, }
\item[{int}]{coordY}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ab4a75631a31d7b19f3ae86ceb6428e41}


addLocation -\/ method used to add a new \hyperlink{class_location}{Location} 

\hypertarget{class_water_network_a2a050ebecbf917386ac5efbff9dfd4a5}{
\index{WaterNetwork@{WaterNetwork}!addPipe@{addPipe}}
\index{addPipe@{addPipe}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addPipe}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addPipe (
\begin{DoxyParamCaption}
\item[{int}]{id, }
\item[{int}]{capacity, }
\item[{{\bf Location} \&}]{sourc, }
\item[{{\bf Location} \&}]{dest, }
\item[{bool}]{Status, }
\item[{int}]{flow = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a2a050ebecbf917386ac5efbff9dfd4a5}


addPipe -\/ method used to add a new pipe connection 

\hypertarget{class_water_network_a13e84743fc7b84dba324abe83d1085e3}{
\index{WaterNetwork@{WaterNetwork}!addPipe@{addPipe}}
\index{addPipe@{addPipe}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addPipe}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addPipe (
\begin{DoxyParamCaption}
\item[{int}]{id, }
\item[{int}]{capacity, }
\item[{int}]{sourc, }
\item[{int}]{dest, }
\item[{bool}]{Status, }
\item[{int}]{flow = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a13e84743fc7b84dba324abe83d1085e3}
\hypertarget{class_water_network_a91acadd8564d58ade97d4b1ca430a65c}{
\index{WaterNetwork@{WaterNetwork}!addPipe@{addPipe}}
\index{addPipe@{addPipe}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addPipe}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addPipe (
\begin{DoxyParamCaption}
\item[{int}]{capacity, }
\item[{int}]{sourc, }
\item[{int}]{dest, }
\item[{bool}]{Status, }
\item[{int}]{flow = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a91acadd8564d58ade97d4b1ca430a65c}
\hypertarget{class_water_network_a885f2709c7ce05df85df2703c88da5ee}{
\index{WaterNetwork@{WaterNetwork}!addReservoir@{addReservoir}}
\index{addReservoir@{addReservoir}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addReservoir}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::addReservoir (
\begin{DoxyParamCaption}
\item[{int}]{id, }
\item[{int}]{coordX, }
\item[{int}]{coordY, }
\item[{int}]{currentStoredCapacity, }
\item[{int}]{maxStorageCapacity}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a885f2709c7ce05df85df2703c88da5ee}


addReservoir -\/ method used to add a new \hyperlink{class_reservoir}{Reservoir} 

\hypertarget{class_water_network_a20010bdf2c4aa074022307d1660d622b}{
\index{WaterNetwork@{WaterNetwork}!addSubRoad@{addSubRoad}}
\index{addSubRoad@{addSubRoad}!WaterNetwork@{WaterNetwork}}
\subsubsection[{addSubRoad}]{\setlength{\rightskip}{0pt plus 5cm}void WaterNetwork::addSubRoad (
\begin{DoxyParamCaption}
\item[{int}]{roadID, }
\item[{int}]{sourc, }
\item[{int}]{dest}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a20010bdf2c4aa074022307d1660d622b}
\hypertarget{class_water_network_aefcc7422b62efdeaeb444b5570530cbe}{
\index{WaterNetwork@{WaterNetwork}!bfs@{bfs}}
\index{bfs@{bfs}!WaterNetwork@{WaterNetwork}}
\subsubsection[{bfs}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ int $>$ WaterNetwork::bfs (
\begin{DoxyParamCaption}
\item[{{\bf Location} $\ast$}]{v}
\end{DoxyParamCaption}
)}}
\label{class_water_network_aefcc7422b62efdeaeb444b5570530cbe}
\hypertarget{class_water_network_a52343ac85818a81212e694c74c67beb8}{
\index{WaterNetwork@{WaterNetwork}!calcDinic@{calcDinic}}
\index{calcDinic@{calcDinic}!WaterNetwork@{WaterNetwork}}
\subsubsection[{calcDinic}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ WaterNetwork::calcDinic (
\begin{DoxyParamCaption}
\item[{int}]{sourceID, }
\item[{int}]{finID}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a52343ac85818a81212e694c74c67beb8}
\hypertarget{class_water_network_a9697ea9d03dceb467fff0afd0dbd823c}{
\index{WaterNetwork@{WaterNetwork}!calcFordFulkerson@{calcFordFulkerson}}
\index{calcFordFulkerson@{calcFordFulkerson}!WaterNetwork@{WaterNetwork}}
\subsubsection[{calcFordFulkerson}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ WaterNetwork::calcFordFulkerson (
\begin{DoxyParamCaption}
\item[{int}]{sourceID}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a9697ea9d03dceb467fff0afd0dbd823c}
\hypertarget{class_water_network_af048c02299610a99072d7b43897a23e5}{
\index{WaterNetwork@{WaterNetwork}!calculateFordFulkerson@{calculateFordFulkerson}}
\index{calculateFordFulkerson@{calculateFordFulkerson}!WaterNetwork@{WaterNetwork}}
\subsubsection[{calculateFordFulkerson}]{\setlength{\rightskip}{0pt plus 5cm}int WaterNetwork::calculateFordFulkerson (
\begin{DoxyParamCaption}
\item[{{\bf Location} $\ast$}]{current, }
\item[{{\bf Location} $\ast$}]{parent, }
\item[{int}]{min, }
\item[{{\bf WaterNetwork} $\ast$}]{gf, }
\item[{{\bf WaterNetwork} $\ast$}]{gr, }
\item[{vector$<$ {\bf Location} $\ast$ $>$}]{visited}
\end{DoxyParamCaption}
)}}
\label{class_water_network_af048c02299610a99072d7b43897a23e5}
\hypertarget{class_water_network_adea63a2e8f62cf5c3b7cd1fd4918f344}{
\index{WaterNetwork@{WaterNetwork}!callFordFulkersonMultiSource@{callFordFulkersonMultiSource}}
\index{callFordFulkersonMultiSource@{callFordFulkersonMultiSource}!WaterNetwork@{WaterNetwork}}
\subsubsection[{callFordFulkersonMultiSource}]{\setlength{\rightskip}{0pt plus 5cm}vector$<${\bf Location}$\ast$$>$ WaterNetwork::callFordFulkersonMultiSource (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_adea63a2e8f62cf5c3b7cd1fd4918f344}
\hypertarget{class_water_network_a01e7ebe89220ff487897b09af71906f9}{
\index{WaterNetwork@{WaterNetwork}!callMaxFlowMultiSource@{callMaxFlowMultiSource}}
\index{callMaxFlowMultiSource@{callMaxFlowMultiSource}!WaterNetwork@{WaterNetwork}}
\subsubsection[{callMaxFlowMultiSource}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ WaterNetwork::callMaxFlowMultiSource (
\begin{DoxyParamCaption}
\item[{int}]{algorithm}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a01e7ebe89220ff487897b09af71906f9}
\hypertarget{class_water_network_a011c3eb07dbc82efe7188a7308d0c3f3}{
\index{WaterNetwork@{WaterNetwork}!callMaxFlowToSingleInfrastructure@{callMaxFlowToSingleInfrastructure}}
\index{callMaxFlowToSingleInfrastructure@{callMaxFlowToSingleInfrastructure}!WaterNetwork@{WaterNetwork}}
\subsubsection[{callMaxFlowToSingleInfrastructure}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ WaterNetwork::callMaxFlowToSingleInfrastructure (
\begin{DoxyParamCaption}
\item[{int}]{algorithm, }
\item[{int}]{destID}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a011c3eb07dbc82efe7188a7308d0c3f3}
\hypertarget{class_water_network_aded2b4ff71169e2bf6268dd73f1c60ad}{
\index{WaterNetwork@{WaterNetwork}!clearAll@{clearAll}}
\index{clearAll@{clearAll}!WaterNetwork@{WaterNetwork}}
\subsubsection[{clearAll}]{\setlength{\rightskip}{0pt plus 5cm}void WaterNetwork::clearAll (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_aded2b4ff71169e2bf6268dd73f1c60ad}
\hypertarget{class_water_network_abfe1672e7cd986196363dc2b9fd1ca86}{
\index{WaterNetwork@{WaterNetwork}!clone@{clone}}
\index{clone@{clone}!WaterNetwork@{WaterNetwork}}
\subsubsection[{clone}]{\setlength{\rightskip}{0pt plus 5cm}{\bf WaterNetwork} WaterNetwork::clone (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_abfe1672e7cd986196363dc2b9fd1ca86}


Copy Water Network graph. 

\hypertarget{class_water_network_ac298145a8e8fcb9fc0fa41605bf3595c}{
\index{WaterNetwork@{WaterNetwork}!dfs@{dfs}}
\index{dfs@{dfs}!WaterNetwork@{WaterNetwork}}
\subsubsection[{dfs}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ int $>$ WaterNetwork::dfs (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ac298145a8e8fcb9fc0fa41605bf3595c}
\hypertarget{class_water_network_af7b58c1a2167ccd08fb5524d31becc06}{
\index{WaterNetwork@{WaterNetwork}!dfs@{dfs}}
\index{dfs@{dfs}!WaterNetwork@{WaterNetwork}}
\subsubsection[{dfs}]{\setlength{\rightskip}{0pt plus 5cm}void WaterNetwork::dfs (
\begin{DoxyParamCaption}
\item[{{\bf Location} $\ast$}]{v, }
\item[{vector$<$ int $>$ \&}]{res}
\end{DoxyParamCaption}
)}}
\label{class_water_network_af7b58c1a2167ccd08fb5524d31becc06}
\hypertarget{class_water_network_a59a412ebbf9daf6d4574d932eef40fb8}{
\index{WaterNetwork@{WaterNetwork}!getInfrastructure@{getInfrastructure}}
\index{getInfrastructure@{getInfrastructure}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getInfrastructure}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Infrastructure} $\ast$ WaterNetwork::getInfrastructure (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a59a412ebbf9daf6d4574d932eef40fb8}
Get the pointer to a \hyperlink{class_infrastructure}{Infrastructure} from its id. \hypertarget{class_water_network_a44292fec38a4d22e94d32195f14776ad}{
\index{WaterNetwork@{WaterNetwork}!getInfrastructures@{getInfrastructures}}
\index{getInfrastructures@{getInfrastructures}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getInfrastructures}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Infrastructure} $\ast$ $>$ $\ast$ WaterNetwork::getInfrastructures (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a44292fec38a4d22e94d32195f14776ad}


\hyperlink{class_water_network_a44292fec38a4d22e94d32195f14776ad}{getInfrastructures()} -\/ method used to get the full set of Infrastructures 

\hypertarget{class_water_network_ae6ef8b990f3ec827a392cbb921faaa47}{
\index{WaterNetwork@{WaterNetwork}!getJunction@{getJunction}}
\index{getJunction@{getJunction}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getJunction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Junction} $\ast$ WaterNetwork::getJunction (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ae6ef8b990f3ec827a392cbb921faaa47}
Get the pointer to a \hyperlink{class_junction}{Junction} from its id. \hypertarget{class_water_network_ad0523efad5899c970a371dac7ffceac4}{
\index{WaterNetwork@{WaterNetwork}!getJunctions@{getJunctions}}
\index{getJunctions@{getJunctions}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getJunctions}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Junction} $\ast$ $>$ $\ast$ WaterNetwork::getJunctions (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ad0523efad5899c970a371dac7ffceac4}


\hyperlink{class_water_network_ad0523efad5899c970a371dac7ffceac4}{getJunctions()} -\/ method used to get the full set of Junctions 

\hypertarget{class_water_network_a29456f0594ffaf42b4ea203474fc61fb}{
\index{WaterNetwork@{WaterNetwork}!getLocationByID@{getLocationByID}}
\index{getLocationByID@{getLocationByID}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getLocationByID}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Location} $\ast$ WaterNetwork::getLocationByID (
\begin{DoxyParamCaption}
\item[{int}]{locID}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a29456f0594ffaf42b4ea203474fc61fb}
\hypertarget{class_water_network_a73a75b7ac2300b93be71cc396dd78a15}{
\index{WaterNetwork@{WaterNetwork}!getLocations@{getLocations}}
\index{getLocations@{getLocations}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getLocations}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ $\ast$ WaterNetwork::getLocations (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a73a75b7ac2300b93be71cc396dd78a15}


\hyperlink{class_water_network_a73a75b7ac2300b93be71cc396dd78a15}{getLocations()} -\/ method used to get the full set of locations 

\hypertarget{class_water_network_a68d91ebf12965711adad3a8c0bb9401e}{
\index{WaterNetwork@{WaterNetwork}!getNode@{getNode}}
\index{getNode@{getNode}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getNode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Location} $\ast$ WaterNetwork::getNode (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a68d91ebf12965711adad3a8c0bb9401e}
Return a node from the graph, as a $\ast$Location, from its id. \hypertarget{class_water_network_ac0c651e2cdcdee910d4ec467fd405759}{
\index{WaterNetwork@{WaterNetwork}!getNumNodes@{getNumNodes}}
\index{getNumNodes@{getNumNodes}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getNumNodes}]{\setlength{\rightskip}{0pt plus 5cm}int WaterNetwork::getNumNodes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{class_water_network_ac0c651e2cdcdee910d4ec467fd405759}


\hyperlink{class_water_network_ac0c651e2cdcdee910d4ec467fd405759}{getNumNodes()} -\/ method used to get the number of locations 

\hypertarget{class_water_network_a6e5e7f82017c64a02dacb22fde23511e}{
\index{WaterNetwork@{WaterNetwork}!getReservoir@{getReservoir}}
\index{getReservoir@{getReservoir}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getReservoir}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Reservoir} $\ast$ WaterNetwork::getReservoir (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a6e5e7f82017c64a02dacb22fde23511e}
Get the pointer to a \hyperlink{class_reservoir}{Reservoir} from its id. \hypertarget{class_water_network_ada9bc87a5e954905a31fcd68241ec428}{
\index{WaterNetwork@{WaterNetwork}!getReservoirs@{getReservoirs}}
\index{getReservoirs@{getReservoirs}!WaterNetwork@{WaterNetwork}}
\subsubsection[{getReservoirs}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Reservoir} $\ast$ $>$ $\ast$ WaterNetwork::getReservoirs (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ada9bc87a5e954905a31fcd68241ec428}


\hyperlink{class_water_network_ada9bc87a5e954905a31fcd68241ec428}{getReservoirs()} -\/ method used to get the full set of Reservoirs 

\hypertarget{class_water_network_a80fb9bb3a0e3ad3df24f13124a0654c8}{
\index{WaterNetwork@{WaterNetwork}!isInfrastructure@{isInfrastructure}}
\index{isInfrastructure@{isInfrastructure}!WaterNetwork@{WaterNetwork}}
\subsubsection[{isInfrastructure}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::isInfrastructure (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a80fb9bb3a0e3ad3df24f13124a0654c8}
\hypertarget{class_water_network_a623c8109753291e8e476c132289acc55}{
\index{WaterNetwork@{WaterNetwork}!isJunction@{isJunction}}
\index{isJunction@{isJunction}!WaterNetwork@{WaterNetwork}}
\subsubsection[{isJunction}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::isJunction (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a623c8109753291e8e476c132289acc55}
\hypertarget{class_water_network_a6566d42ba917fa7ecc696b13ccb49f7d}{
\index{WaterNetwork@{WaterNetwork}!isNode@{isNode}}
\index{isNode@{isNode}!WaterNetwork@{WaterNetwork}}
\subsubsection[{isNode}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::isNode (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a6566d42ba917fa7ecc696b13ccb49f7d}


isNode -\/ method used to check if a location exists 

\hypertarget{class_water_network_a6f6e258a0f3e4aadc7e45d280dabf493}{
\index{WaterNetwork@{WaterNetwork}!isReservoir@{isReservoir}}
\index{isReservoir@{isReservoir}!WaterNetwork@{WaterNetwork}}
\subsubsection[{isReservoir}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::isReservoir (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a6f6e258a0f3e4aadc7e45d280dabf493}
\hypertarget{class_water_network_a50b4b873d20c72587745fc67c25dbb28}{
\index{WaterNetwork@{WaterNetwork}!maxFlow1to1@{maxFlow1to1}}
\index{maxFlow1to1@{maxFlow1to1}!WaterNetwork@{WaterNetwork}}
\subsubsection[{maxFlow1to1}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ WaterNetwork::maxFlow1to1 (
\begin{DoxyParamCaption}
\item[{int}]{algorithm, }
\item[{int}]{orig, }
\item[{int}]{dest}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a50b4b873d20c72587745fc67c25dbb28}
\hypertarget{class_water_network_ab13869313e2b148311b90f9ddec40ce0}{
\index{WaterNetwork@{WaterNetwork}!maxFlow1toMany@{maxFlow1toMany}}
\index{maxFlow1toMany@{maxFlow1toMany}!WaterNetwork@{WaterNetwork}}
\subsubsection[{maxFlow1toMany}]{\setlength{\rightskip}{0pt plus 5cm}vector$<$ {\bf Location} $\ast$ $>$ WaterNetwork::maxFlow1toMany (
\begin{DoxyParamCaption}
\item[{int}]{algorithm, }
\item[{int}]{orig}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ab13869313e2b148311b90f9ddec40ce0}
\hypertarget{class_water_network_ac894f40989b8c912dbe5cd1563ce45e4}{
\index{WaterNetwork@{WaterNetwork}!removeNode@{removeNode}}
\index{removeNode@{removeNode}!WaterNetwork@{WaterNetwork}}
\subsubsection[{removeNode}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::removeNode (
\begin{DoxyParamCaption}
\item[{int}]{id}
\end{DoxyParamCaption}
)}}
\label{class_water_network_ac894f40989b8c912dbe5cd1563ce45e4}


removeNode -\/ method used to remove location 

\hypertarget{class_water_network_a19715d18cbb86ce2cc5c37763f8505ea}{
\index{WaterNetwork@{WaterNetwork}!removePipe@{removePipe}}
\index{removePipe@{removePipe}!WaterNetwork@{WaterNetwork}}
\subsubsection[{removePipe}]{\setlength{\rightskip}{0pt plus 5cm}bool WaterNetwork::removePipe (
\begin{DoxyParamCaption}
\item[{int}]{idsourc, }
\item[{int}]{iddest}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a19715d18cbb86ce2cc5c37763f8505ea}
\hypertarget{class_water_network_aae57cfa15a620a84ef61d848dafd1b92}{
\index{WaterNetwork@{WaterNetwork}!resetPipeFlow@{resetPipeFlow}}
\index{resetPipeFlow@{resetPipeFlow}!WaterNetwork@{WaterNetwork}}
\subsubsection[{resetPipeFlow}]{\setlength{\rightskip}{0pt plus 5cm}void WaterNetwork::resetPipeFlow (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_water_network_aae57cfa15a620a84ef61d848dafd1b92}
Reset the flow on a pipe. \hypertarget{class_water_network_acf33e51a31585e43155792cb62149e13}{
\index{WaterNetwork@{WaterNetwork}!showGraph@{showGraph}}
\index{showGraph@{showGraph}!WaterNetwork@{WaterNetwork}}
\subsubsection[{showGraph}]{\setlength{\rightskip}{0pt plus 5cm}void WaterNetwork::showGraph (
\begin{DoxyParamCaption}
\item[{int}]{width, }
\item[{int}]{height}
\end{DoxyParamCaption}
)}}
\label{class_water_network_acf33e51a31585e43155792cb62149e13}


Show Water Network graph. 

\hypertarget{class_water_network_a9ed5f08f51349e0396f73a9a1849473c}{
\index{WaterNetwork@{WaterNetwork}!unweightedShortestPath@{unweightedShortestPath}}
\index{unweightedShortestPath@{unweightedShortestPath}!WaterNetwork@{WaterNetwork}}
\subsubsection[{unweightedShortestPath}]{\setlength{\rightskip}{0pt plus 5cm}void WaterNetwork::unweightedShortestPath (
\begin{DoxyParamCaption}
\item[{const int}]{s}
\end{DoxyParamCaption}
)}}
\label{class_water_network_a9ed5f08f51349e0396f73a9a1849473c}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
C:/Users/Paulo/git/cal2012t4/water/src/\hyperlink{_water_network_8h}{WaterNetwork.h}\item 
C:/Users/Paulo/git/cal2012t4/water/src/\hyperlink{_water_network_8cpp}{WaterNetwork.cpp}\end{DoxyCompactItemize}
